package com.aspose.cells;

import java.util.HashMap;

class zcex {
   static Object a(zcfe var0, WorksheetCollection var1, Cell var2, Object var3, int var4, int var5) {
      if (var3 instanceof Object[][]) {
         Object[][] var11 = (Object[][])((Object[][])var3);
         Object var12 = null;
         if (var11[var4] != null) {
            var12 = var11[var4][var5];
         }

         if (var12 != null && var12 instanceof Cell) {
            var12 = var0.a((Cell)var12);
            var11[var4][var5] = var12;
         }

         return var12;
      } else if (var3 instanceof zft) {
         zft var6 = (zft)var3;
         int var7 = var6.d.StartRow + var4;
         int var8 = var6.d.StartColumn + var5;
         Cells var9 = var1.get(var6.b).getCells();
         Cell var10 = var9.checkCell(var7, var8);
         return var10 == null ? null : var0.a(var10);
      } else {
         return var3;
      }
   }

   static Object a(zcfe var0, WorksheetCollection var1, Cell var2, int var3, int var4, Object[] var5, zyl[] var6) {
      for(int var7 = 0; var7 < var5.length; ++var7) {
         Object var8 = a(var0, var1, var2, var5[var7], var3, var4);
         if (var8 == null && !"<>".equals(var6[var7].a())) {
            return false;
         }

         Object var9 = zmc.a(var8, var6[var7], var1.n().getSettings());
         if (var9 instanceof zst) {
            return var9;
         }

         if (var9 instanceof Boolean && !(Boolean)var9) {
            return false;
         }
      }

      return true;
   }

   static Object a(zcfe var0, WorksheetCollection var1, Cell var2, int var3, int var4, Object[] var5, zyl[] var6, boolean[] var7) {
      for(int var8 = 0; var8 < var5.length; ++var8) {
         if (!var7[var8]) {
            Object var9 = a(var0, var1, var2, var5[var8], var3, var4);
            Object var10 = zmc.a(var9, var6[var8], var1.n().getSettings());
            if (var10 instanceof zst) {
               return var10;
            }

            if (var10 instanceof Boolean && !(Boolean)var10) {
               return false;
            }
         }
      }

      return true;
   }

   static int[] a(Object var0) {
      int[] var1 = new int[]{1, 1};
      if (var0 instanceof Object[][]) {
         Object[][] var2 = (Object[][])((Object[][])var0);
         var1[0] = var2.length;
         var1[1] = var2[0].length;
      } else if (var0 instanceof zft) {
         zft var3 = (zft)var0;
         var1[0] = var3.d.EndRow - var3.d.StartRow + 1;
         var1[1] = var3.d.EndColumn - var3.d.StartColumn + 1;
      }

      return var1;
   }

   static int[] a(Object var0, Object[] var1) {
      int[] var2 = a(var0);

      for(int var3 = 0; var3 < var1.length; ++var3) {
         int[] var4 = a(var1[var3]);
         if (var2[0] != var4[0]) {
            return null;
         }

         if (var2[1] != var4[1]) {
            return null;
         }
      }

      return var2;
   }

   static int[] b(Object var0, Object[] var1) {
      int[] var2 = a(var0);

      for(int var3 = 0; var3 < var1.length; ++var3) {
         int[] var4 = a(var1[var3]);
         if (var2[0] > var4[0]) {
            var2[0] = var4[0];
         }

         if (var2[1] > var4[1]) {
            var2[1] = var4[1];
         }
      }

      return var2;
   }

   static zft a(zft var0, Object[] var1) {
      int[] var2 = a(var0);
      if (var2[0] == 1 && var2[1] == 1) {
         for(int var3 = 0; var3 < var1.length; ++var3) {
            int[] var4 = a(var1[var3]);
            if (var3 == 0) {
               var2 = var4;
            } else {
               if (var2[0] > var4[0]) {
                  var2[0] = var4[0];
               }

               if (var2[1] > var4[1]) {
                  var2[1] = var4[1];
               }
            }
         }

         if (var2[0] != 1 || var2[1] != 1) {
            var0.d.EndRow = var0.d.EndRow + var2[0] - 1;
         }
      }

      return var0;
   }

   static Object a(zcfe var0, WorksheetCollection var1, Cell var2, zem var3, zyl var4, int var5, int var6) {
      String var7 = var4.a() + (var4.b == null ? "" : var4.b);
      if (var3.i == null) {
         var3.i = new HashMap();
      }

      Object var8 = var3.i.get(var7);
      if (var8 == null) {
         var3.i.put(var7, 0.0D);
         return null;
      } else if (!(var8 instanceof Double)) {
         return var8;
      } else {
         Object var9 = var3.f;
         int[][] var10 = new int[var5][];
         int var11 = 0;
         boolean var12 = false;
         int[] var13 = new int[var6];

         int var15;
         for(int var14 = 0; var14 < var5; ++var14) {
            int var18 = 0;

            for(var15 = 0; var15 < var6; ++var15) {
               Object var16 = a(var0, var1, var2, var9, var14, var15);
               Object var17 = zmc.a(var16, var4.b, var4.a(), var1.n().getSettings(), var4.c);
               if (var17 instanceof Boolean && (Boolean)var17) {
                  var13[var18++] = var15;
               }
            }

            if (var18 != 0) {
               int[] var20 = new int[var18 + 1];
               System.arraycopy(var13, 0, var20, 1, var18);
               var20[0] = var14;
               var10[var11++] = var20;
            }
         }

         if (var11 < var10.length) {
            int[][] var19 = new int[var11][];

            for(var15 = 0; var15 < var11; ++var15) {
               var19[var15] = var10[var15];
            }

            var10 = var19;
         }

         var3.i.put(var7, var10);
         return var10;
      }
   }

   static Object a(zcfe var0, WorksheetCollection var1, Cell var2, Object var3, Object[] var4, Object[] var5, int var6, boolean var7, boolean var8) {
      WorkbookSettings var9 = var1.n().getSettings();
      if (var3 != null && var3 instanceof zft) {
         zft var10 = (zft)var3;
         var10 = a(var10, var4);
         var3 = var0.a(var10, true, true, true, false).f;
      }

      zem[] var24 = new zem[var4.length];

      for(int var11 = 0; var11 < var4.length; ++var11) {
         Object var12 = var4[var11];
         if (var12 != null && var12 instanceof zft) {
            zft var13 = (zft)var12;
            var24[var11] = var0.a(var13, true, true, true, false);
            var4[var11] = var24[var11].f;
         }
      }

      Object var25 = null;
      int[] var26;
      if (var7) {
         var26 = a(var6 == 2 ? var4[0] : var3, var4);
         if (var26 == null) {
            return zst.i;
         }
      } else {
         var26 = b(var3, var4);
      }

      boolean var27 = false;
      int var28 = 0;
      int var14 = 0;
      boolean var15 = true;
      zyl[] var16 = new zyl[var5.length];

      for(int var17 = 0; var17 < var5.length; ++var17) {
         if (var5[var17] instanceof zft) {
            zft var18 = (zft)var5[var17];
            zem var19 = var0.a(var18, true, true, true, false);
            var5[var17] = var19.f;
         }

         var5[var17] = zyl.a(var5[var17], var9, var8);
         if (var8 && var5[var17] instanceof Object[][]) {
            var27 = true;
            Object[][] var30 = (Object[][])((Object[][])var5[var17]);
            if (var17 == 0) {
               var28 = var30.length;
               var14 = var30[0].length;
            } else if (var30.length != var28 || var30[0].length != var14) {
               if (var30.length > var28) {
                  var28 = var30.length;
               }

               if (var30[0].length > var14) {
                  var14 = var30[0].length;
               }

               var15 = false;
            }
         } else {
            var16[var17] = (zyl)var5[var17];
         }
      }

      if (!var27) {
         return a(var0, var1, var2, var3, var24, var4, var16, var6, var7, var26);
      } else {
         Object[][] var29 = new Object[var28][];
         zyl var31 = new zyl((Object)null, (WorkbookSettings)null);

         for(int var32 = 0; var32 < var28; ++var32) {
            var29[var32] = new Object[var14];

            for(int var20 = 0; var20 < var14; ++var20) {
               zyl[] var21 = new zyl[var5.length];

               for(int var22 = 0; var22 < var5.length; ++var22) {
                  var21[var22] = var31;
                  if (!(var5[var22] instanceof Object[][])) {
                     var21[var22] = (zyl)var5[var22];
                  } else {
                     Object[][] var23 = (Object[][])((Object[][])var5[var22]);
                     if (var32 < var23.length && var23[var32] != null && var20 < var23[var32].length) {
                        var21[var22] = (zyl)var23[var32][var20];
                     }
                  }
               }

               var29[var32][var20] = a(var0, var1, var2, var3, var24, var4, var21, var6, var7, var26);
            }
         }

         return var29;
      }
   }

   private static Object a(zcfe var0, WorksheetCollection var1, Cell var2, Object var3, zem[] var4, Object[] var5, zyl[] var6, int var7, boolean var8, int[] var9) {
      int var10 = 0;
      double var11 = 0.0D;
      Object var13 = null;
      Object var14 = null;
      int[][] var15 = (int[][])null;
      boolean[] var16 = new boolean[var4.length];

      int var17;
      for(var17 = 0; var17 < var4.length; ++var17) {
         if (var4[var17] != null) {
            Object var18 = a(var0, var1, var2, var4[var17], var6[var17], var9[0], var9[1]);
            if (var18 != null && var18 instanceof int[][]) {
               var16[var17] = true;
               if (var15 == null) {
                  var15 = (int[][])((int[][])var18);
                  break;
               }
            }
         }
      }

      int var19;
      if (var15 != null) {
         for(var17 = 0; var17 < var15.length; ++var17) {
            for(var19 = 1; var19 < var15[var17].length; ++var19) {
               var13 = a(var0, var1, var2, var15[var17][0], var15[var17][var19], var5, var6, var16);
               if (var13 instanceof Boolean && (Boolean)var13) {
                  switch(var7) {
                  case 2:
                     ++var10;
                     break;
                  default:
                     var14 = a(var0, var1, var2, var3, var15[var17][0], var15[var17][var19]);
                     if (var14 != null && var14 instanceof zst) {
                        return var14;
                     }

                     if (var14 != null) {
                        if (var14 instanceof DateTime) {
                           var14 = CellsHelper.getDoubleFromDateTime((DateTime)var14, var1.n().getSettings().getDate1904());
                        }

                        if (var14 instanceof Double) {
                           ++var10;
                           var11 += (Double)var14;
                        }
                     }
                  }
               }
            }
         }
      } else {
         for(var17 = 0; var17 < var9[0]; ++var17) {
            for(var19 = 0; var19 < var9[1]; ++var19) {
               var13 = a(var0, var1, var2, var17, var19, var5, var6);
               if (var13 instanceof Boolean && (Boolean)var13) {
                  switch(var7) {
                  case 2:
                     ++var10;
                     break;
                  default:
                     var14 = a(var0, var1, var2, var3, var17, var19);
                     if (var14 != null && var14 instanceof zst) {
                        return var14;
                     }

                     if (var14 != null) {
                        if (var14 instanceof DateTime) {
                           var14 = CellsHelper.getDoubleFromDateTime((DateTime)var14, var1.n().getSettings().getDate1904());
                        }

                        if (var14 instanceof Double) {
                           ++var10;
                           var11 += (Double)var14;
                        }
                     }
                  }
               }
            }
         }
      }

      switch(var7) {
      case 1:
         if (var10 == 0) {
            return zst.a;
         }

         return var11 / (double)var10;
      case 2:
         return (double)var10;
      default:
         return var11;
      }
   }
}
